package com.niguang.govt.admin.api.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author 12380
 * @since 2018-12-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("work_salary")
public class Salary extends Model<Salary> {

    public static final String ID = "id";
    public static final String USER_ID = "user_id";
    public static final String QIYE_ID = "qiye_id";
    public static final String SITE_ID = "site_id";
    public static final String WORK_TYPE_ID = "work_type_id";
    public static final String CONFIRM_HOURS = "confirm_hours";
    public static final String CONFIRM_DAY = "confirm_day";
    public static final String CONFIRM_USER_ID = "confirm_user_id";
    public static final String DAY_SALARY = "day_salary";
    public static final String SALARY_DATE = "salary_date";
    public static final String PAY_SALARY = "pay_salary";
    public static final String CREATE_TIME = "create_time";
    public static final String SALARY_TYPE = "salary_type";
    public static final String UPDATE_TIME = "update_time";
    public static final String DEL_FLAG = "del_flag";
    public static final String REMARK = "remark";
    public static final String AUDIT_TYPE = "audit_type";
    public static final String BANZU_USER_ID = "banzu_user_id";
    public static final String LABOR_COMPANY_ID = "labor_company_id";
    public static final String TEAM_ID = "team_id";
    public static final String PAY_WAY = "pay_way";
    public static final String CON_ID = "con_id";
    public static final String CONFIRM_TIME = "confirm_time";
    public static final String CONFIRM_USER = "confirm_user";
    private static final long serialVersionUID = 1L;
    /**
     * 薪资ID
     */
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 企业ID
     */
    private Long qiyeId;
    /**
     * 工地ID
     */
    private Long siteId;
    /**
     * 工种ID
     */
    private Long workTypeId;
    /**
     * 确认工时
     */
    private BigDecimal confirmHours;
    /**
     * 确认工日
     */
    private BigDecimal confirmDay;
    /**
     * 确认人ID
     */
    private Long confirmUserId;
    /**
     * 日工资单价
     */
    private BigDecimal daySalary;
    /**
     * 什么时候工作发的工资
     */
    private LocalDate salaryDate;
    /**
     * 支出金额
     */
    private BigDecimal paySalary;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 支出收入标识 1-收入 2-支出
     */
    private Integer salaryType;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * 删除标识 0-未删除 1-已删除
     */
    @TableLogic
    private Boolean delFlag;
    /**
     * 备注
     */
    private String remark;
    /**
     * 提现审核状态 1--未审核 2--审核通过 3--审核不通过
     */
    private Integer auditType;
    /**
     * 用户提现时，产生的班组长ID
     */
    private Long banzuUserId;
    /**
     * 劳务公司
     */
    private Long laborCompanyId;
    /**
     * 班组ID
     */
    private Long teamId;
    /**
     * 计薪方式 1-点工 2-包工 3-月薪
     */
    private Integer payWay;
    /**
     * 包工记数量id
     */
    private Long conId;
    /**
     * 确认时间
     */
    private LocalDateTime confirmTime;
    /**
     * 确认人
     */
    private String confirmUser;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
